I have to think about how to implement the Knowledge unit and the event handling befoce continue programming