implemented data.rb