added support for backface culling