Updated inheritance, and added a ocl spec