added comments and minified