rewrote architecture to use native object prototyping up until the final application-level compile step