pass abstract