some refactor prep