added Type checks