added rules, a few more methods