new features

new features from timothyqiu