refactored
template edited.