lots of expansion to user module. added tests. brute force checking fails.