problem solving with event and command typing