checks are for sanity
faster array copy