State machine works decently well. still need to do auth & reorganize the data