Chapter 3 point implementations completed :D