remove src folder, refactor model, and add tests