make it into a library