not using cached trait as it is problematic