stateful things kinda working, need to reset text when appropriate and all kinds of other things