first commit is actually original project
modified types to integrate triggers to buttons