documented using browserify and debowerify