Smartcontainers

In progress....
apply