seperate model and view files