added launcher factory