1. break action list generating logic into small bricks