delegates and protocols working

about to remove the console protocol (not needed)