try making a js framework