better error handling
add bulk testing script