Better invalid user detection, refactor requests