Implemented protocol operations.