code completed. testing in progress