Updated with optionals, need help with persistence.