merged initial codebase