controller method bodies moved to model