cleanup
cleanup
Revert "cleanup"

This reverts commit 320c100be15997777e184bd0a41627e3c2dfcca0.
simplify dependencies
cleanup code
More cleanup
Add more tests.
Remove unused classes