modularized basic strategy into separate method