trying to come up with appropriate structure