Added more UI logic and checks to the Service