user spec, rework security, some boilerplate