fix interface
add simple locks