working on framebuffer