improved property helper functions