various test and implmentation