add persistence and design sprucing