update
delete
abstract class