separate initialization, starting and stopping