separate definitions into 3 sections