provide begin or end