wrap sites in handler instead of launch