added note diversity rule and did some tidying
fixing the fixed key rule, adding rule params