added/reorganized helper classes