reworked safety()