Merge pull request #71 from alexcrichton/v3

Reimplement public interface for stability