switch to detection via property rather than instance