add live reloading