refactor with concern, user and invitation