added tests; errors now pushed onto callback