refactoring and support for more dhcp options