markup and controller