add the userdata model and implement it's persistence