Update classes added
Abstract methods added
updater removed
needs to be rewritten
Merge branch 'updater' into develop