fix bugs in surface visual