compiles on CAEN