application boilerplate with start, stop and restart