tested version with Arduino