Started to port. Many functions are missing. Some implementend are working, some are complety untested