Making the platform interface more generic

see title