add a minimal user system (not functioning yet), build models