more flexible for further options, added comments to describe each scenario