Added server component. \nAbstracted out javascripts