Algorithm features

Pull request due to accidental commit to wrong branch