added completion handler, initializer, iboutlet to delegate