take input and overall structure done