write once, run nowhere