initial project structure and first algorithms