implementation chpater updated (almost finished)