+ more refactoring preparation
! refactoring continues