backend stuff and user view