adding a template for new algorithms