     
 }
 
-open class Piece {
+public struct Piece {
     
     static private var lastAssignedTag = 0
     

        self.tag = Piece.lastAssignedTag
    }
    
    func value() -> Double {
        
        switch type {

        }
    }
    
    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
