improve mapper.rb