middleware drill