beginning delegate protocol definition