controller prototype