figured out rules for possible path generation