modified to accomodate OCL