some pln and ecan stuff