Added ACO

ACO and some structural improvments