state machine updates, and .gitignoring machines.js