function withdrawTokens(ERC20 _token) returns (bool){

        uint tokens = tokenBalances[_token][msg.sender].numTokens;
        tokenBalances[_token][msg.sender].numTokens = 0;

        require(tokenBalances[_token][msg.sender].timeToWithdraw < block.timestamp && tokens > 0);

        tokenBalances[_token][msg.sender].timeToWithdraw = 0;

        require(_token.transfer(msg.sender, tokens));

        return true;
    }