add doc comment
add doc comment
add assertion to factory method
add accessor methods
add doc comment
convert boolean to string