A lot of cleanup, checks etc.
Add brute force support.