better errors, binding of caller