modify for zsh sourcing
don't clutter shell variables or overwrite existing $PLATFORM
define functions only for platforms that are available