refactor structure
refactor structure