refactored _get_property