Lots of new features, most code fixed