user structure and clean-up