add preliminaries and basics