adding some more structure