Re-organise the code structure. Adding AIMA search library