change some concepts and rewrite tests