Second commit. Includes back-end interface.