Base generic operations and..... stuff