made some MAJOR changes
More testing