Add specs to cover all scenarios
Add comments to spec for reasons of helpfulness