updated without uglify