local js file because prototype sucks