Added safety checks with is_record() to each method; added tests