Tried to made everything cross-platform.