rename OK/ERROR to SUCCESS/FAILURE to avoid name collisions
double license: Public Domain (The Unlicense) + Simplified BSD License