finish the implementation of userConfig