add tests(first part)