Core platform

Refactored to use the common platform