use SpecialSource as a a lib