added definition for testing gates thing