added select/2 and get_value/{2,3}