MAJOR changes.
Too less time to explain.