Use native functions wherever possible