function depositTokens(ERC20 _token, uint256 _time, uint256 _amount) returns (bool){
        require(_amount > 0 && _time > block.timestamp && _time < block.timestamp + 157680000);

        if (!(tokenBalances[_token][msg.sender].timeToWithdraw > 0)) tokenBalances[_token][msg.sender].timeToWithdraw = _time;

        tokenBalances[_token][msg.sender].numTokens += _amount;

        require(_token.transferFrom(msg.sender, this, _amount));

        return true;
    }