laid groundwork for user generated rulesets