add singleton.rb