custom state design