Used Bimap instead of the icky transposition