Implementation Part I