3.0

This is another take on #365, but on more stable branch