i think i have the majority of the functionality working. just need to make it pretty