contracts now ruby-like