fixed the article bug: repeat instance
finished all base function