removing native dependency and using reflection emit to get optimized blit performance