fixed issue where push would call child added twice
added more tests for update