massive edits
add buildForm method and made other changes