Comments added. Defaulted templates. Added getters/setters.