huge code update, new ui, more features.