reimplemented operations.