first draft
lock for manipulating the recieve list