framebuffer finally works