Extends instead Trait for new Algo constructor