abstract reflection