added create_sonic functionality