put back in shared.rb