cleaned up instance variables, hash creates on the fly, included heredoc