upper layer