notes
move util functions to where they can be shared by more systems