refactoring
refactor models and update dependencies