big refactoring - was it too much ?