bit impl