Start designing the library

It absolutely does not work at all right now