updated to have a live reload