use file lock