Assignment 3 Synchronization  (Untested)