support consistent get