Add base structure
Add basic args
Add base args
Add base ops for densities
A lot of mistakes, and tests