runs in app engine launcher