function transfer(address _to, uint256 _value) public returns (bool) {
        if (!isOwner()) {
            require (allowTransfers);
            require(!frozenAccount[msg.sender]);                                       
            require(!frozenAccount[_to]);                                             
            require(!_isUserInternalLock());
            require(_value <= balances[msg.sender] - lockAmount[msg.sender] + releasedAmount(msg.sender));
        }
        if(_value >= releasedAmount(msg.sender)){
            lockAmount[msg.sender] = lockAmount[msg.sender].sub(releasedAmount(msg.sender));
        }else{
            lockAmount[msg.sender] = lockAmount[msg.sender].sub(_value);
        }
        
        return super.transfer(_to, _value);
    }