added guard and livereload