Part I. Code