TODO  separating controller; substances LOCK