For #6 making further progress, got all existing tests passing