updated options and adding persistence interface