refactor toward modular  is 90% done.