added various port, currently not compiling