tried to solve the component handling