reflection was implemented completely