Updated to use generic functions when possible, and added a participant delete funciton