suppose to impl pn532