working on implementing xcb surfaces