refactor and add recent work