prepared main