prototype def + test setup