Added a lot of features, including offline mode