document controller