contract Token is ERC20 {
    using SafeMath for uint;

    string public name = "CrowdWizToken";
    string public symbol = "WIZ";
    uint8 public decimals = 18;

    address public crowdsaleMinter;

    modifier onlyCrowdsaleMinter(){
        require(msg.sender == crowdsaleMinter);
        _;
    }

    modifier isNotStartedOnly() {
        require(!isStarted);
        _;
    }

    function Token(){
        crowdsaleMinter = 0x4544e57470f7211a65c050c259922c89e0b41240;
    }

    function getTotalSupply()
    public
    constant
    returns(uint)
    {
        return totalSupply;
    }

    function start()
    public
    onlyCrowdsaleMinter
    isNotStartedOnly
    {
        isStarted = true;
    }

    function emergencyStop()
    public
    only(owner)
    {
        isStarted = false;
    }

    //================= Crowdsale Only =================
    function mint(address _to, uint _amount) public
    onlyCrowdsaleMinter
    isNotStartedOnly
    returns(bool)
    {
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        return true;
    }
}
function mint(address _to, uint _amount) public
onlyCrowdsaleMinter
isNotStartedOnly
returns(bool)
{
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    return true;
}

//================= Crowdsale Only =================