add tests, and fix the parent inheriting child properties bug