better soure checking
Argh changing types