organizing files into lib/ and spec/