adding achievement functionality