added restart; fixed mem leak by reusing textures instead of bitmaps