commit before projectile rework
something might be wrong
merged Devon's changes, made code less spogooter more OO
oops, removed big file
merged johns code