need to revert from using refection