More accurate checks, need to fix timer