FIX: add lock