got states to change size with data...code needs serious refactoring