like Java, but less so