compile okay, data structure in progress