Make all the different ways work (untested)