added bit manipulation problem