a project for CS470 writen in ruby