post model refactoring