revise introduction and start writing implementation