add shape.rb