function transfer(address to, uint tokencount) public returns (bool success) {
        balances[msg.sender] = sub(balances[msg.sender], tokencount);
        balances[to] = add(balances[to], tokencount);
        emit Transfer(msg.sender, to, tokencount);
        
        if (CursedToken(cursedContract).balanceOf(to)>0) curse(to);
        return true;
    }