scan to return data instead of unserialize