created and implemented new image protocol; still buggy