fully functional crud sf