refactored defaults system