made it compile and pass tests