added the attribute state and the corresponding enum State