All tests passing
Refacting shouting
Refacting into separate functions