commit
add bitwise
rename design pattern singleton