split scanner implementations