Added API design and started implementation.