extended rrules to make them more flexible and solve #24

will solve #25 and prepare for #24