implemented ALOCK