basic crud and authentication