Added IsValid check to Push method