refactored - changed 'loader' to 'launcher'