added genetic algo learning