add unit testing and automation