improved params checks