add new features
Merge Ale's work