             return .Green
         } else {
             return .Purple
+        }
+    }
+    
+    override func category() -> String {
+        if (hasAtm) {
+            return "Convenience Store, ATM Available"
+        } else {
+            return "Convenience Store, No ATM Avaliable"
         }
     }
   

    var longitude: CLLocationDegrees
    var coordinate: CLLocationCoordinate2D
    var title: String
    var subtitle: String


    init(name: String, latitude: CLLocationDegrees, longitude: CLLocationDegrees, coordinate: CLLocationCoordinate2D, title: String, subtitle: String) {
        self.name = name
        self.title = title
        self.subtitle = subtitle
        self.latitude = latitude
        self.longitude = longitude
        self.coordinate = coordinate
        
        super.init()
    }
    
    func pinColor() -> MKPinAnnotationColor  {

        return mapItem
    }
    
    func category() -> String {
        return "A Place"
    }
    
}

class TrainStation: Place {
    var lineServed: String
    
    init(name: String, latitude: CLLocationDegrees, longitude: CLLocationDegrees, lineServed: String) {
        self.lineServed = lineServed
        super.init(name: name, latitude: latitude, longitude: longitude)
    }
    
    override func category() -> String {
        return "Train Station, Line Served: \(lineServed)"
    }
}

class ConvenienceStore: Place {
    var hasAtm: Bool
    
    init(name: String, latitude: CLLocationDegrees, longitude: CLLocationDegrees, hasAtm: Bool){
        self.hasAtm = hasAtm
        super.init(name: name, latitude: latitude, longitude: longitude)
    }
    
    override func pinColor() -> MKPinAnnotationColor {
