improve initial checks