refactor, remove inheritance
cleanup
fix expected
fix visibility