add offer and counteroffer

user can make offer and counteroffer
`end` at 13, 2 is not aligned with `def` at 11, 3