partial
swap for readable