refactored forms a bit