add 'serve' task with live reload