bit shift correctly