moved api to accept stencil only, performance is suffering