refactor 0A1B
support 0AnB
refactor junit