add retainer/direct modes