work on collection protocol