abstract check