ed in seperate web app; is self-contained