Adding as much Functionality