Shit load of changes... good fixes.