scan implemented