start attempting to port arrgh why am I even doing this