Implementation of Part I