Added pretty much all functionality. Now I just need to make it look pretty.