Divided into 3 parts