use haml for cleanliness, substantial cleanup