separation of platform dependent/independent concern