Editted Chapter 4, still need to update preface and fix ordering.