basic libraries and structure