brand new implementation, with 'plan then exploit' logic