complete setting page. not full function