everything is working. need to make it more interactive and handle some edge cases