Separate the 'user-end' part from the 'library'
TODO: make the library available through findlib.