working on the structure to be more flexible