Major changes in the architecture and update method(NOT TESTED)