eliminate temp constructs
reorganize logic; matched strand polarity to prev