all variables must be declared properly !