add lock passing