add initial surface support