implemented platform macros
fix