Major feature additions/changes

Checking in new features and changes to existing ones.