added some comments explain how I did the synchronization things b/c I will have no idea in about 12 hours