mid refactor around journal functionality