commented functions for unifying