add safe guard and copyright info