More refactoring
Bullet upgrades and Refactoring

inb4 merge failure