my very own compiler