This causes a lot of instantiations... Are we sure that it is actually faster?