moved standard functions