refactoring p10
refactoring p11
p11 go