got the user interaction mostly working properly (woohoo)