added onion component closes #36