little cleanup (still needs async)