abstracted device checking into filter
removed device checks and added logging