clean up js and template. fix #8 - width now set by source