last of my helper functions for abandoned ideas