Working build of the program, needs testing