Refactored to work with LiveReload