Do not reinvent the wheel, use queue!