added forms functionality