add test and implementation of Participant