don't use properties in surface methods