Update abstract model + implementation unifying part