version 1.0.0; corrected abstract class