custom library to manage html forms