add more documentation. make _parse_user a private method