implement infiniLauncher