Issue #4 -- User CRUD function clean up, better handling of optional information