publish source packages and simplify interface