Everything runs! There are probably bugs, so I need to do some review