added Traversable for Option