Failing specs + argument handling.
Passing specs.
Refactor for great justice.