Fix pure implementation