Core methods