Polar codes are constructed for arbitrary channels by imposing an arbitrary quasigroup structure on the input alphabet. The block error probability under successive cancellation decoding decays exponentially with the square root of the block length. It is shown that the same technique can be used to construct polar codes for arbitrary multiple access channels (MAC) by using an appropriate Abelian group structure.