Working with synchronization, but still not ideal