refactored strands into nested classes