Implements all operations from original lib