ordering issues. need to decide on async flow or not.