state pattern initial