fixed any errors that propagated from changing BodyComponent to Abstract Class