Implemented algoritms