implement launcher (fix issue #7)