initial commit : porting to ruby