adding lazy evaluation of actions