add circular dependecy check in execute()
add TODOs