adopted to 64bit (preliminary)