add async persistence