better split up of concerns