refactored to use partials