refactor package and add char