wrap up user collection route, added some unit tests