decoration IO and tests