some modificaitons