basically just redid the entire inheritance checking thing... but this should make everything much easier and cleaner going forwards.