Detect wrong component

fixes #23
This is now an awful arrow. Refactor it.