Should use a cross-platform module for real goodness