Resolved issues "Add Tests" and "Refactor project structure"

@CommanderHamster
~requested: 300