making progress on definition refactor