see day12~day18 in doc