Initial implementation

All sections complete