Changed to one big struct