refactored to use prefix