refactor and test in sim