* add param checks to all public functions