add a gitignore
added the option to allow empty returns
added more work to Actions::Add
rewrote the way actions and systems are called