add basic algorithm class