upload usecase and statemachine