optimised add_object using incremental update instead of full collision detect