all functions checked