now we can unit testing
updated