refactor display handling into its own function and support module type position/usage