Code is working... need to finish tests