modify some implemention details