added depth buffer