Now useful as a library