add platform functionality