added unit tests part