add preliminary autonomous code