improve appearance
add offline operaction caching
improve interaction by adding a menu
fix some promise bugs