added live updating