Update more abstraction