A few changes

Packaging some common functionality in common.py, adding some brainstorming notes about potential heuristics, starting to split up the heuristics