javascript is wrapped in a self executing anonymous function