use numpy arrays instead of python lists