used native functions