first
setting up the structure