refactored and tested inputs
refactored and tested fields
v up