updated abstractcomponent