separate controller