refactor, cleanup, stuffs, etc.