version 2

Document the public abstract methods