Protocols add form improve error handling