refactoring 'algorithms' features