use speed only
use np.copy to avoid overwriting references