lots of changes
merged with github/master