modify some things
merged work