- introduce Strategy as a trait