cleaned up user checking