remove reflection with type hinting