Finished code

Everything works now, had to include exception thrower. Every other method can now be included. Adding comments currently, will be up in a short while