under working, modify code by review