[ian] refactored to new component