implemented search et al