-reorganising, splitting utils.py
-further reorganisation, aimed mostly at reducing size of util.py