Smart build

**not ready for merging yet**
I think it's OK to promote pub conventions and not support a non-convention package.