first attempt at struct definitions support