promisify and add rulesets