using persistent improves runtime significantly