allow custom function as tile getter