adding and contract
documenting the and combinator
adding regular expression contracts