tests for each function separated