move implementation to init.rb