modifed ruby code