added cross-platform utilities