added complete handler