Added a lot of functionality. Yaay!