refactor value and form fragments for reusability, dont depend on navigator