modified makefile and some data type to fit x86_64