project to check point #1: req 1~8 implemented. TODO: env var, piping, etc