rough read write lock implementation is added