added methods to implement