we should package these features up as extensions which just do the right thing