64bits implementaion -- first draft