dry path and spec tests