continuing refactor work