abstract begin