added search function in abstract shape / composite