Added basic algorithm interface