simplified internal controller structure