functional tile renderer