library
how to use it, sample
minimal makefile