refactored to single module scope