Added a Large Amount of Additional Functionality