slight modified
solve confilcts