added update capability + better tests