first pass at scan functionality.