Implement Scan()