refactor films controller and model