supporting triggers, making for loop easier, better typedefs, and the addition of the button