feat: add user view