working refactored state without map
intermediate - reflective type adapter