library class

Most of the init code will end up in its own class