added windows service support