add the generic stack and queue implementation