all refactored
before refactor of inner id problem