add idea for particle protocol