changing some of the core methods