generating controller