Putting events down works. Just need to implement IO now