external js
added functionality