scrambler

Code is messy but functional - sorry about that, method division might make it cleaner but it'd involve a lot of passing.