it worries me that if I was just using straight ruby this would actually be harder.