although i was more interested in meta programming lua than making anything useful