respect attributes and pass around options
indentation makes everything better