use only one class for box
fix save error and default client id
use better JSON parser