abstract futex