rectored with Generic casting