High level functionality for C