avoid checks unless necessary