before hard  refactoring