basic enqueueing mechanism