moved delegate protocols to a separate folder