add some persistence and server side api