added full crossplatformingness and changed includes that were not needed