Architecture refactoring
Readme update