added perimeter method to Shape interface