add abstract methods

add abstract methods  to ensure that classes implementing this trait
will behave properly