         self.tag = Piece.lastAssignedTag
     }
     
+    public init(type: PieceType, color: Color, tag: Int){
+        self.type = type
+        self.color = color
+        self.tag = tag
+    }
+
     func value() -> Double {
         
         switch type {

    
}

open class Piece {
    
    static private var lastAssignedTag = 0
    

        }
    }
    
    public let type: PieceType
    public let color: Color
    public var tag: Int!
    public var hasMoved = false
    
    var movement : PieceMovement {
        return PieceMovement.pieceMovementForPieceType(pieceType: self.type)
    }

    public init(type: PieceType, color: Color){
        self.type = type
