some refucktoring