more generic version of ruby