split processing of fields into more oop methods