Lots and lots... too lazy to split it out
Updates 2013-04-20