improve component, add skip options