perform cheap checks first