make complex delegate properly complex