change form library, not yet fully done