use raw numpy pointers and parallel for file reading makes span faster