remove more logic from models