revised code with original article