refactoring Work (in progress 1/2)