refactoring
add argument at initialize
add bit controll method