[refactor] move to leaner architecture
[refactor docs] add descriptions