added param checking)