added bit manipulation classes