basic project update mechanism