add synchronization; fix load bug