Fixes for #5252

Fixes for #5252 and refactoring. Perhaps you need to fix js validation too. I did not watch it.
And if I want range is created after initialization?