fix injecting into child classes
add more tests
same
same
same