refactored very cleanly
refactored very cleanly