added better errors and binding of callers