object scan implementation