sun: more useful stuff that im tired of rewriting