work on framebuffer implementation