add typed arrays
add error type