Refactoring forms and model - part 1