develop at state pattern
okay