improve JS