added some functionality, still getting some errors, working to fix them