made pla_device more generic