reimplemented test