cast to requirements