make most controllers and views more generic based off fieldconfig