refactor some basic unit.