added the remaining core methods