mostly working, may need some additional update selections