note 1 need to read and test only