changed positioncomponent to use an init list