fix document
fix indent
change to use subject
implement read_attribute to fetch value from options
refactor using read_attribute
add spec