ground work for unit testing