added requirement for active_model