Added ErrorCollector
Adjust interface, with accept_parameters user could freely define parameters