almost finished just missing a way to make IO properly