self tests at runtime