restructued syntax, and have inheritance working again