better controllers structure