added left and right preference ability