Strategy Design Pattern First Commit