modify to rubyish