some refac.