structured main