Update README
Refactor specs
Refactor alternative methods
Refactor #generate_variants
Fix whitespace errors and other cleanup