nine/surface: upload WIP