#1  API design

add support for custom compound unit