parent types are now working correct
code cleanup
test code cleanup