adds better errors and binding of caller for better debuggiing