implemented topshelf to allow running as a windows service
implemented topshelf to allow running as a windows service