Made everything a bit more functional