use new shared components system
fix merge conflict