implement config system[2]