basic frontend and message passsing