try to abstract to root an error out