work in progress: finish tests