Updated to correct abstract classes