Refactored user specification functionality