working on delete and fixed abstract class