added start and stop mechanisms