Required functionality

Completed document