added other characters, main controller state tracking