adding form and basic functionality