Program compiles but with some warnings have not tested working yet