it's a three part structure