separate models to core/alarm and require