add change check

DUHHHhh... not sure why I was not thinking about this before haha much easier
than doing object.observe