Major redesign - split the app to model/view/controller, added archive, added JS zoom