contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    // Balances for each account
    mapping(address => uint256) balances;

    /**
    * @dev Get the token balance for account
    * @param _address The address to query the balance of._address
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _address) public constant returns(uint256 theBalance){
        return balances[_address];
    }

    /**
    * @dev Transfer the balance from owner's account to another account
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    * @return Returns true if transfer has been successful
    */
    function transfer(address _to, uint256 _value) public returns(bool success){
        require(_to != address(0x0) && _value <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        emit Transfer(msg.sender, _to, _value);

        return true;
    }
}
/**
 * @title Basic token
 * @dev Basic version of StandardToken without allowances.
 */
function transfer(address _to, uint256 _value) public returns(bool success){
    require(_to != address(0x0) && _value <= balances[msg.sender]);

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);

    emit Transfer(msg.sender, _to, _value);

    return true;
}

/**
 * @dev Transfer the balance from owner's account to another account
 * @param _to The address to transfer to.
 * @param _value The amount to be transferred.
 * @return Returns true if transfer has been successful
 */