working around contracts.ruby errors