start of launcher interface and implementation