#112 Reimplemented with a platform-neutral, no external dependencies approach