stop working on so many branches
input and output
fixed merge conflict