provide better builder
start better error reporting work