Expose more features and add some tests