working
improve processing