separate library and prog