Start of platform agnotic library