implemented tryacquire. passes up to 16th case