refactoring part 1 (changed model names to snake case, etc)