restart and refactor sean's