add/edit/detail is now somewhat more generic