additions; search implementation