Add search function and redesign