add numerous functions