Code is compiling now, but it is pretty large